package Inversor_De_Links_Apresentacao;

import java.awt.Color;  
import java.awt.Container;  
import java.awt.Font;  
import java.awt.GridLayout;  
import java.awt.event.ActionEvent;  
import java.awt.event.ActionListener;  
  
import javax.swing.JButton;  
import javax.swing.JFrame;  
import javax.swing.JLabel;  
import javax.swing.JTextField; 

import Inversor_De_Links_Inteligencia.Inversor;

public class InversorApp {

	public static void main(String[] args) {  
		JInversorApp frame = new JInversorApp();  
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  
	    frame.apresentacao = new JDecodificadorApp(frame);
		frame.setVisible(true);   
	}  
}  

class JInversorApp extends JFrame {  
    
	public JDecodificadorApp apresentacao;
	
	   private static final long serialVersionUID = 1L;  
	     
	   JLabel rotulo1, rotulo2;  
	     
	   JTextField campo1, campoSai;  
	     
	   JButton botInverte, botDecodificador , botLimpa;  
	   
	   public JInversorApp(JDecodificadorApp decodificador)
	   { 
		  this.realizaTarefas();
		  this.apresentacao = decodificador;
		  this.apresentacao.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	   }

	   public JInversorApp() {
		  
		   this.realizaTarefas();
	   } 
	   
	 private void realizaTarefas()
	 {
		 setTitle("Inversor de Links");  
	      setSize(400, 150);  
	        
	      Container conteiner = getContentPane();  
	      GridLayout grid = new GridLayout(4, 3, 3, 3);  
	      conteiner.setLayout(grid);  
	        
	      rotulo1 = new JLabel("Entre com seu Link");  
	      campo1 = new JTextField(4);  
	      rotulo2 = new JLabel("Link Invertido");  
	      campoSai = new JTextField(4);  
	      campoSai.setEditable(false);  
	        
	      botInverte = new JButton("Inverte");   
	      botLimpa = new JButton("Limpa");  
	      botDecodificador = new JButton("Ir Para decodificador");
	      
	      conteiner.add(rotulo1);  
	      conteiner.add(campo1);  
	      conteiner.add(rotulo2);  
	      conteiner.add(campoSai);  
	      conteiner.add(botInverte);
	      conteiner.add(botDecodificador);
	      conteiner.add(botLimpa);    
	      
	      botDecodificador.addActionListener(new BotaoDecodificadorListener());
	      botInverte.addActionListener(new BotaoInvertListener());    
	      botLimpa.addActionListener(new BotaoCleanListener()); 
	 }
	   
private class BotaoDecodificadorListener implements ActionListener
{

	@Override
	public void actionPerformed(ActionEvent e) {
		 
		JInversorApp.this.setVisible(false);
		apresentacao.setVisible(true);
		
	}

}
	   
	private class BotaoInvertListener implements ActionListener {  
	        
	public void actionPerformed(ActionEvent e) {
		
		String texto = campo1.getText();  
		Font f = campoSai.getFont(); 
		
		Inversor inversor = new Inversor();
		           
		campoSai.setText(inversor.invert(texto));    
		campoSai.setFont(f.deriveFont(Font.BOLD));  
		campoSai.setForeground(Color.BLACK);  
	}  
}	   

	private class BotaoCleanListener implements ActionListener {  
        
	public void actionPerformed(ActionEvent e) {  
		campo1.setText("");  
		campoSai.setText("");  
	}  
	 
}
}